// ============================================================ //
// ============================================================ //
//
// @Group       : QiXin Supply Chain Team
// @Author      : ZhiQiang Cheng
// @Date        : 2024-07-10
// @Description : 应用配置
//
// ============================================================ //
// ============================================================ //

package model

import (
	"github.com/StarfishProgram/starfish-go-sdk/sdkconfig"
	"github.com/StarfishProgram/starfish-go-sdk/sdkdb"
	"github.com/StarfishProgram/starfish-go-sdk/sdklog"
	"github.com/StarfishProgram/starfish-go-sdk/sdkredis"
)

type Config struct {
	Log      sdklog.Config   `yaml:"log"`
	Redis    sdkredis.Config `yaml:"redis"`
	Database sdkdb.Config    `yaml:"database"`
}

var configIns *Config

func ConfigIns() *Config {
	return configIns
}

func ConfigInit(path string) {
	config := sdkconfig.New[Config]().
		Type("yaml").
		Path(path).
		Load()
	configIns = config
}
